Operator precedence determines the order in which operators are evaluated in expressions. Operators with higher precedence are evaluated before operators with lower precedence.
Here is a table of JavaScript operators listed in order of precedence (from highest to lowest):
()
obj.property
myFunction()
new
++ --
!
~
+ -
* / %
+ -
<< >> >>>
< > <= >=
== != === !==
&
^
|
&&
||
? :
= += -= *= /= %= &= ^= |= <<= >>= >>>=
,
Here are some examples demonstrating operator precedence in JavaScript:
console.log(3 + 4 * 2); // 11 (Multiplication before addition)
console.log((3 + 4) * 2); // 14 (Grouping changes the order)
console.log(10 > 5 && 5 < 3); // false (Relational before logical AND)
console.log(10 > (5 && 5 < 3)); // true (Grouping changes the order)
For more detailed information, you can check out resources like MDN Web Docs and W3Schools.